암호화 알고리즘
IT 위키
분류[편집 | 원본 편집]
- 크게 대칭키 알고리즘과 공개키 알고리즘으로 분류할 수 있다.
| 비밀키(대칭키) 암호 | 공개키(비대칭키) 암호 | |
|---|---|---|
| 암호화 방법 | 암호화와 복호화에 같은 키를 사용 | 암호화와 복호화에 다른 키를 사용
키 쌍 K1, K2에 대해
|
| 키의 개수 | 암호를 공유하는 사용자의 순서쌍 개수
n(n-1)/2 |
사람당 2개씩(공개키, 비밀키)
2n |
| 장점 | 상대적으로 빠름 | 키 분배 문제 해소
전자서명 가능 |
| 단점 | 안전한 키 분배가 문제
참여자 증가에 따라 키 개수 기하급수적 증가 |
키 발급자에 대한 보증 어려움
상대적으로 느림 |
대칭키(비밀키) 방식[편집 | 원본 편집]
- 블록 암호화 스트림 암호로 나눌 수 있다.
블록 암호[편집 | 원본 편집]
| 구분 | DES | 3DES | SEED | AES | ARIA | IDEA |
|---|---|---|---|---|---|---|
| 키 길이 | 56bit | 56*3bit | 128bit | 128/192/256bit | 128/192/256bit | 128bit |
| 블록 크기 | 64bit | 64bit | 128bit | 128bit | 128bit | 64bit |
| 라운드 | 16번 | 16*3번 | 16번 | 10/12/14번 | 12/14/16번 | 8번 |
| 구조 | Feistel Network | Feistel Network | Feistel Network | SPN | SPN | Lai-Massey schema |
| 비고 | AES 이전 미국 표준 | DES의 취약점 보완 및
호환성 유지용 임시방편 |
ARIA 이전 국내 표준 | 현 미국 표준 | 현 국내 표준 | 국제 표준
(PGP에서 사용) |
- Feistel과 SPN
- Feistel 구조 : DES, SEED
- SPN(Non-Feistel) 구조 : AES, ARIA
스트림 암호[편집 | 원본 편집]
비대칭키(공개키) 방식[편집 | 원본 편집]
| 구분 | ECC | RSA |
|---|---|---|
| 속도 | 빠름 | 느림 |
| 키 길이 | 짧음 | 김 |
| 시장점유율 | 낮음 | 높음 |
| 주요 사용처 | 모바일 환경
(그 외 환경으로 확대 중) |
유선 환경 |
| 장점 | 효율성 | 오랜 기간 입증된 안전성 |
- 그 외
해시 알고리즘[편집 | 원본 편집]
- SHA
- MD